#ifndef __GlPointLight_h__
#define __GlPointLight_h__

#include "GlMain.h"
#include "GlPosition.h"

namespace GraphicLibrary
{
	class SpotLight;
	class GlExport PointLight
	{
		public:
			PointLight(const float distance);
			virtual ~PointLight();

			inline const float* getColor() const	{return mColor;}
			inline Position getPosition() const		{return mPos;}
			inline float getX() const				{return getPosition().mX;}
			inline float getY() const				{return getPosition().mY;}
			inline bool isVisible() const			{return mVisibility;}
			void setVisibility(const bool visible);
			void setColor(const float r, const float g, const float b, const float a);
			void move(const Position &pos);
		private:
			float		mColor[4];
			Position	mPos;
			bool		mVisibility;
			SpotLight*	mSpotLights[4];
	};
}

#endif // __GlPointLight_h__
